home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1994 / MacHack 1994.toast / MacHack™ 1987-1994 / MacHack™ '90 / Source Code ƒ.sea / Source Code ƒ / C++ Files / HString.h < prev    next >
MacBinary  |  1990-05-03  |  2.0 KB  |  [TEXT/QED1]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed May 2 23:00:10 1990, modified Wed May 2 23:00:10 1990, creator 'QED1', type ASCII, 1310 bytes "HString.h" , at 0x59e 406 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[QED1]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 09 48 53 74 72 69 6e | 67 2e 68 00 00 00 00 00 |..HStrin|g.h.....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 51 45 44 | 31 01 00 00 00 00 40 00 |.TEXTQED|1.....@.|
|00000050| 00 00 00 00 00 05 1e 00 | 00 01 96 a2 65 4f 3a a2 |........|....eO:.|
|00000060| 65 4f 3a 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |eO:.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 4b b3 00 00 |........|....K...|
|00000080| 2f 2f 20 43 6f 70 79 72 | 69 67 68 74 20 31 39 39 |// Copyr|ight 199|
|00000090| 30 20 57 61 6c 64 65 6d | 61 72 20 48 6f 72 77 61 |0 Waldem|ar Horwa|
|000000a0| 74 2e 0d 2f 2f 20 50 65 | 72 6d 69 73 73 69 6f 6e |t..// Pe|rmission|
|000000b0| 20 69 73 20 67 72 61 6e | 74 65 64 20 66 6f 72 20 | is gran|ted for |
|000000c0| 6e 6f 6e 63 6f 6d 6d 65 | 72 63 69 61 6c 20 75 73 |noncomme|rcial us|
|000000d0| 65 20 6f 66 20 74 68 69 | 73 20 63 6f 64 65 2e 0d |e of thi|s code..|
|000000e0| 0d 74 79 70 65 64 65 66 | 20 69 6e 74 20 62 6f 6f |.typedef| int boo|
|000000f0| 6c 3b 0d 0d 73 74 72 75 | 63 74 20 53 74 72 69 6e |l;..stru|ct Strin|
|00000100| 67 44 61 74 61 3a 48 61 | 6e 64 6c 65 4f 62 6a 65 |gData:Ha|ndleObje|
|00000110| 63 74 0d 20 20 7b 0d 20 | 20 69 6e 74 20 72 65 66 |ct. {. | int ref|
|00000120| 43 6f 75 6e 74 3b 0d 20 | 20 63 68 61 72 20 73 74 |Count;. | char st|
|00000130| 72 5b 31 5d 3b 20 2f 2f | 56 61 72 69 61 62 6c 65 |r[1]; //|Variable|
|00000140| 20 6c 65 6e 67 74 68 0d | 20 20 7d 3b 0d 0d 63 6c | length.| };..cl|
|00000150| 61 73 73 20 53 74 72 69 | 6e 67 0d 20 20 7b 0d 20 |ass Stri|ng. {. |
|00000160| 70 72 69 76 61 74 65 3a | 0d 20 20 53 74 72 69 6e |private:|. Strin|
|00000170| 67 44 61 74 61 20 2a 64 | 61 74 61 3b 20 2f 2f 20 |gData *d|ata; // |
|00000180| 4d 61 79 20 62 65 20 4e | 49 4c 21 0d 0d 20 20 76 |May be N|IL!.. v|
|00000190| 6f 69 64 20 69 6e 74 65 | 72 6e 61 6c 43 6f 70 79 |oid inte|rnalCopy|
|000001a0| 28 63 6f 6e 73 74 20 53 | 74 72 69 6e 67 20 26 73 |(const S|tring &s|
|000001b0| 72 63 29 3b 0d 20 20 4f | 53 45 72 72 20 69 6e 74 |rc);. O|SErr int|
|000001c0| 65 72 6e 61 6c 43 6f 70 | 79 28 63 6f 6e 73 74 20 |ernalCop|y(const |
|000001d0| 63 68 61 72 20 2a 63 53 | 74 72 69 6e 67 29 3b 0d |char *cS|tring);.|
|000001e0| 20 20 4f 53 45 72 72 20 | 66 72 65 73 68 28 29 3b | OSErr |fresh();|
|000001f0| 0d 0d 20 70 75 62 6c 69 | 63 3a 0d 20 20 2f 2f 20 |.. publi|c:. // |
|00000200| 43 75 6d 75 6c 61 74 69 | 76 65 20 65 72 72 6f 72 |Cumulati|ve error|
|00000210| 2e 0d 20 20 73 74 61 74 | 69 63 20 4f 53 45 72 72 |.. stat|ic OSErr|
|00000220| 20 65 72 72 3b 0d 0d 20 | 20 2f 2f 20 43 6f 6e 73 | err;.. | // Cons|
|00000230| 74 72 75 63 74 6f 72 73 | 0d 20 20 53 74 72 69 6e |tructors|. Strin|
|00000240| 67 28 29 20 7b 64 61 74 | 61 3d 30 3b 7d 0d 20 20 |g() {dat|a=0;}. |
|00000250| 53 74 72 69 6e 67 28 63 | 6f 6e 73 74 20 53 74 72 |String(c|onst Str|
|00000260| 69 6e 67 20 26 73 72 63 | 29 20 7b 69 6e 74 65 72 |ing &src|) {inter|
|00000270| 6e 61 6c 43 6f 70 79 28 | 73 72 63 29 3b 7d 0d 20 |nalCopy(|src);}. |
|00000280| 20 53 74 72 69 6e 67 28 | 63 6f 6e 73 74 20 63 68 | String(|const ch|
|00000290| 61 72 20 2a 63 53 74 72 | 69 6e 67 29 20 7b 69 6e |ar *cStr|ing) {in|
|000002a0| 74 65 72 6e 61 6c 43 6f | 70 79 28 63 53 74 72 69 |ternalCo|py(cStri|
|000002b0| 6e 67 29 3b 7d 0d 0d 20 | 20 2f 2f 20 44 65 73 74 |ng);}.. | // Dest|
|000002c0| 72 75 63 74 6f 72 0d 20 | 20 7e 53 74 72 69 6e 67 |ructor. | ~String|
|000002d0| 28 29 3b 0d 0d 20 20 2f | 2f 20 43 6c 65 61 72 20 |();.. /|/ Clear |
|000002e0| 74 68 65 20 53 74 72 69 | 6e 67 20 74 6f 20 61 20 |the Stri|ng to a |
|000002f0| 6e 75 6c 6c 20 73 74 72 | 69 6e 67 2e 0d 20 20 76 |null str|ing.. v|
|00000300| 6f 69 64 20 63 6c 65 61 | 72 28 29 3b 0d 0d 20 20 |oid clea|r();.. |
|00000310| 2f 2f 20 41 73 73 69 67 | 6e 6d 65 6e 74 20 6f 70 |// Assig|nment op|
|00000320| 65 72 61 74 6f 72 73 0d | 20 20 53 74 72 69 6e 67 |erators.| String|
|00000330| 20 26 6f 70 65 72 61 74 | 6f 72 3d 28 63 6f 6e 73 | &operat|or=(cons|
|00000340| 74 20 53 74 72 69 6e 67 | 20 26 73 72 63 29 3b 0d |t String| &src);.|
|00000350| 20 20 4f 53 45 72 72 20 | 6f 70 65 72 61 74 6f 72 | OSErr |operator|
|00000360| 3d 28 63 6f 6e 73 74 20 | 63 68 61 72 20 2a 63 53 |=(const |char *cS|
|00000370| 74 72 69 6e 67 29 3b 0d | 0d 20 20 2f 2f 20 51 75 |tring);.|. // Qu|
|00000380| 65 72 79 20 66 75 6e 63 | 74 69 6f 6e 73 2e 0d 20 |ery func|tions.. |
|00000390| 20 69 6e 74 20 6c 65 6e | 67 74 68 28 29 20 63 6f | int len|gth() co|
|000003a0| 6e 73 74 3b 0d 20 20 63 | 68 61 72 20 6f 70 65 72 |nst;. c|har oper|
|000003b0| 61 74 6f 72 5b 5d 28 69 | 6e 74 20 69 6e 64 65 78 |ator[](i|nt index|
|000003c0| 29 20 63 6f 6e 73 74 3b | 0d 20 20 53 74 72 69 6e |) const;|. Strin|
|000003d0| 67 20 73 75 62 73 74 72 | 28 69 6e 74 20 6f 66 66 |g substr|(int off|
|000003e0| 73 65 74 2c 20 69 6e 74 | 20 6c 65 6e 67 74 68 29 |set, int| length)|
|000003f0| 20 63 6f 6e 73 74 3b 0d | 20 20 2f 2f 52 65 73 75 | const;.| //Resu|
|00000400| 6c 74 20 6d 61 79 20 6d | 6f 76 65 20 77 68 65 6e |lt may m|ove when|
|00000410| 20 68 65 61 70 20 69 73 | 20 73 63 72 61 6d 62 6c | heap is| scrambl|
|00000420| 65 64 21 0d 20 20 63 68 | 61 72 20 2a 63 53 74 72 |ed!. ch|ar *cStr|
|00000430| 69 6e 67 28 29 20 63 6f | 6e 73 74 3b 0d 0d 20 20 |ing() co|nst;.. |
|00000440| 62 6f 6f 6c 20 6f 70 65 | 72 61 74 6f 72 3d 3d 28 |bool ope|rator==(|
|00000450| 63 6f 6e 73 74 20 53 74 | 72 69 6e 67 20 26 73 72 |const St|ring &sr|
|00000460| 63 32 29 20 63 6f 6e 73 | 74 3b 0d 0d 20 20 2f 2f |c2) cons|t;.. //|
|00000470| 20 43 6f 6e 63 61 74 65 | 6e 61 74 69 6f 6e 0d 20 | Concate|nation. |
|00000480| 20 53 74 72 69 6e 67 20 | 6f 70 65 72 61 74 6f 72 | String |operator|
|00000490| 7c 28 63 6f 6e 73 74 20 | 53 74 72 69 6e 67 20 26 ||(const |String &|
|000004a0| 73 72 63 29 20 63 6f 6e | 73 74 3b 0d 0d 20 20 2f |src) con|st;.. /|
|000004b0| 2f 20 41 70 70 65 6e 64 | 69 6e 67 20 64 61 74 61 |/ Append|ing data|
|000004c0| 20 74 6f 20 74 68 65 20 | 65 6e 64 0d 20 20 4f 53 | to the |end. OS|
|000004d0| 45 72 72 20 6f 70 65 72 | 61 74 6f 72 7c 3d 28 63 |Err oper|ator|=(c|
|000004e0| 6f 6e 73 74 20 53 74 72 | 69 6e 67 20 26 73 72 63 |onst Str|ing &src|
|000004f0| 29 3b 0d 20 20 4f 53 45 | 72 72 20 6f 70 65 72 61 |);. OSE|rr opera|
|00000500| 74 6f 72 7c 3d 28 63 68 | 61 72 20 63 68 29 3b 0d |tor|=(ch|ar ch);.|
|00000510| 20 20 4f 53 45 72 72 20 | 6f 70 65 72 61 74 6f 72 | OSErr |operator|
|00000520| 7c 3d 28 63 68 61 72 20 | 2a 63 53 74 72 69 6e 67 ||=(char |*cString|
|00000530| 29 3b 0d 20 20 2f 2f 20 | 50 72 65 70 65 6e 64 69 |);. // |Prependi|
|00000540| 6e 67 20 64 61 74 61 20 | 74 6f 20 74 68 65 20 62 |ng data |to the b|
|00000550| 65 67 69 6e 6e 69 6e 67 | 0d 20 20 4f 53 45 72 72 |eginning|. OSErr|
|00000560| 20 6f 70 65 72 61 74 6f | 72 5e 3d 28 63 68 61 72 | operato|r^=(char|
|00000570| 20 63 68 29 3b 0d 20 20 | 4f 53 45 72 72 20 6f 70 | ch);. |OSErr op|
|00000580| 65 72 61 74 6f 72 5e 3d | 28 63 68 61 72 20 2a 63 |erator^=|(char *c|
|00000590| 53 74 72 69 6e 67 29 3b | 0d 20 20 7d 3b 0d 00 00 |String);|. };...|
|000005a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 00 00 01 00 00 00 01 3c | 00 00 00 3c 00 00 00 5a |.......<|...<...Z|
|00000610| 2e ff f8 48 c0 d0 bc 00 | 00 00 d0 3d 40 ff fc 30 |...H....|...=@..0|
|00000620| 2e ff fa 48 c0 32 2e ff | f6 48 c1 90 81 72 40 b2 |...H.2..|.H...r@.|
|00000630| 09 48 53 74 72 69 6e 67 | 2e 68 02 00 00 00 54 45 |.HString|.h....TE|
|00000640| 58 54 51 45 44 31 01 00 | 00 00 00 40 00 00 00 00 |XTQED1..|...@....|
|00000650| 00 00 54 45 58 54 51 45 | 44 31 01 00 00 00 00 40 |..TEXTQE|D1.....@|
|00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000670| 00 00 a2 63 ad f8 00 00 | 05 1e 00 00 01 96 0b 70 |...c....|.......p|
|00000680| 01 1f 00 a9 08 59 8f 2f | 0b a9 17 28 5f 19 7c 00 |.....Y./|...(_.|.|
|00000690| 01 00 7f 2f 0c 4e ad 09 | 42 70 01 b0 ae 00 14 58 |.../.N..|Bp.....X|
|000006a0| 8f 66 04 2f 0b a9 1f 4c | ee 18 f8 ff d0 4e 5e 4e |.f./...L|.....N^N|
|000006b0| 75 88 4d 6f 76 65 53 69 | 7a 65 00 00 00 00 00 23 |u.MoveSi|ze.....#|
|000006c0| ea 17 d8 00 2b 4e 56 ff | c8 48 e7 01 18 26 6e 00 |....+NV.|.H...&n.|
|000006d0| 08 70 ff 2f 00 48 6e ff | fe 48 6e ff c8 4e ba 00 |.p./.Hn.|.Hn..N..|
|000006e0| b8 28 40 20 0c 66 18 30 | 2e ff fe 48 c0 72 5a b2 |.(@ .f.0|...H.rZ.|
|000006f0| 80 66 04 42 53 60 04 36 | bc 01 09 70 00 60 2a 2f |.f.BS`.6|...p.`*/|
|00000700| 00 00 00 2a 00 09 06 4d | 6f 6e 61 63 6f 00 00 00 |...*...M|onaco...|
|00000710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000720| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000730| 00 04 00 06 00 08 00 00 | 00 02 00 00 00 00 01 00 |........|........|
|00000740| 00 00 01 3c 00 00 00 3c | 00 00 00 5a 00 56 aa 9c |...<...<|...Z.V..|
|00000750| 04 c8 00 00 00 1c 00 5a | 00 02 45 46 4e 54 00 00 |.......Z|..EFNT..|
|00000760| 00 1a 45 54 41 42 00 00 | 00 26 45 51 45 44 00 00 |..ETAB..|.&EQED..|
|00000770| 00 32 03 eb ff ff 00 00 | 00 00 00 00 00 00 03 ec |.2......|........|
|00000780| ff ff 00 00 00 2e 00 00 | 00 00 03 eb ff ff 00 00 |........|........|
|00000790| 00 36 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.6......|........|
|000007a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+